package com.shujia.wyh.day16;


/*
        String和StringBuffer的相互转换
        A,B
        A--B,将A类型转成B类型，目的是为了使用B类型中的功能
        B--A,再把B类型转成A类型，目的是可能最终的结果需要A类型，所以再把它转化回来

 */
public class StringBufferDemo7 {
    public static void main(String[] args) {
        //String ---> StringBuffer
        String s = "hello";
        //String类型与StringBuffer类型没有任何关系，没有继承关系，属于不同的类，不能直接赋值
//        StringBuffer sb1 = s;
//        StringBuffer sb1 = "hello";
        //方式1：通过构造方法的方式进行转换
//        StringBuffer sb1 = new StringBuffer(s);
//        System.out.println(sb1);
        //方式2：使用StringBuffer类中的append()方法
//        StringBuffer sb1 = new StringBuffer();
//        sb1.append(s);
//        System.out.println(sb1);


        //StringBuffer --> String
        StringBuffer sb = new StringBuffer("bigdata");
        //方式1：调用StringBuffer中截取方法
//        String s1 = sb.substring(0);
//        System.out.println(s1);
        //方式2：调用toString()方法（最常用的方式之一）
//        String s1 = sb.toString();
//        System.out.println(s1);
        //方式3：使用String类的构造方法
        //String(StringBuffer buffer)
        //分配一个新的字符串，其中包含当前包含在字符串缓冲区参数中的字符序列。
        String s1 = new String(sb);
        System.out.println(s1);


    }
}
